fn main() {
    println!("Hello, world!");

    //切片

    //rust 中另一种不支持多有权的类型就是切片

    //字符串切片(指向字符串中一部分内容的引用)
    let s = String::from("Hello World");


    //左闭右开
    let s1 = &s[..5];
    let s2 = &s[6..];
    let s3 = &s[..];

    println!("s1:{};s2:{};s3:{}",s1,s2,s3);

    let word_index = first_word(&s);

    //不可变的引用不可以改变为可变的引用,下面这个clear会报错
    // s.clear();

    println!("{}",word_index);

    //字符串字面值的类型就是字符串切片
    let n = "wwwwwww";



}

fn first_word(s:&str)->&str {

    //将字符串切片转为字符
    let bytes = s.as_bytes();

    for (i,&item) in bytes.iter().enumerate() {
        if item == b' ' {
            return &s[..i];
        }
    }
    &s[..]
}